
#include "stack.h"
#include "queue.h"
#include <iostream>
#include <vector>
#include <list>
#include <deque>

//#include "stack.h"
//#include "queue.h"

using namespace std;

//int main()
//{
//	dzp::stack<int, list<int>> a1;
//	a1.push(1);
//	a1.push(2);
//	a1.push(3);
//	a1.push(4);
//	a1.push(5);
//	cout << a1.size() << endl;
//	while(!a1.empty())
//	{
//		cout << a1.top()<<" ";
//		a1.pop();
//	}
//}

//int main()
//{
//	dzp::queue<int, list<int>> a1;
//
//	a1.push(0);
//	a1.push(1);
//	a1.push(2);
//	a1.push(3);
//	a1.push(4);
//	cout << a1.size() << endl;
//		while(!a1.empty())
//		{
//			cout << a1.top()<<" ";
//			a1.pop();
//		}
//}
int main()
{
	dzp::stack<int> a;
	a.push(1);
	a.push(2);
	a.push(3);
	a.push(4);
	a.push(5);
	cout << a.size() << endl;
	while (!a.empty())
	{
		cout << a.top()<<" ";
		a.pop();
	}
	cout << a.size() << endl<<endl;

	dzp::queue<int> b;
	b.push(1);
	b.push(2);
	b.push(3);
	b.push(4);
	b.push(5);
	cout << b.size() << endl;
	while (!b .empty())
	{
		cout << b.top() << " ";
		b.pop();
	}
	cout << b.size() << endl;
	return 0;
}